#region Copyright (c) 2003 - 2006 Toenda Software Development
/*
 * Copyright (c) 2003 - 2006 Toenda Software Development
 */
#endregion

using System;

namespace Toenda.Rails {
	namespace DataContainer {
		/// <summary>
		/// ErrorType as enum
		/// </summary>
		public enum ErrorType {
			/// <summary> No error </summary>
			NoError = 0,
			/// <summary> Default error </summary>
			DefaultError = 1,
			/// <summary> Incorrect username </summary>
			IncorrectUsername = 2,
			/// <summary> Incorrect password </summary>
			IncorrectPassword = 3,
			/// <summary> Default login error </summary>
			DefaultLoginError = 4,
			/// <summary> Session does not exist </summary>
			SessionNotExists = 5,
			/// <summary> No Password </summary>
			EmptyPassword = 6,
			/// <summary> Username less then 3 chars </summary>
			UsernameToSmall = 7,
			/// <summary> Emailadress is not correct </summary>
			EMailIsIncorrect = 8,
			/// <summary> The password dont agree with the check password </summary>
			PasswordsDontAgree = 9,
			/// <summary> Username exist </summary>
			UsernameExist = 10,
			/// <summary> Username disabled </summary>
			UsernameDisabled = 11,
			/// <summary> EMail not exist </summary>
			EMailNotExist = 12,
			/// <summary> Company is disabled </summary>
			CompanyDisabled = 13,
			/// <summary> The privacy checkbox is not checked </summary>
			PrivacyNotChecked = 14,
			/// <summary> Some empty fields exist </summary>
			EmptyFields = 15,
			/// <summary> The validation code is incorrect </summary>
			IncorrectValidationCode = 16,
			/// <summary> The date is not a real date </summary>
			IsNotADate = 17
		}

		/// <summary>
		/// The type to get a account
		/// </summary>
		public enum GetAccountType {
			/// <summary> Get a account by session id </summary>
			BySession = 0,
			/// <summary> Get a account by it's id </summary>
			ByID = 1,
			/// <summary> Get a account by the username </summary>
			ByName = 2
		}

		/// <summary>
		/// The order of the user array list
		/// </summary>
		public enum UserListAttribute {
			/// <summary> Undefined </summary>
			Undefined = 0,
			/// <summary> Get all users </summary>
			All = 1,
			/// <summary> Get all enabled users </summary>
			AllEnabled = 2,
			/// <summary> Get all disabled users </summary>
			AllDisabled = 3,
			/// <summary> Get all pro enabled users </summary>
			AllProEnabled = 4,
			/// <summary> Get all pro disabled users </summary>
			AllProDisabled = 5,
			/// <summary> Get all users from the last 30 days </summary>
			NewestFromLast30Days = 6,
			/// <summary> Get all users where upgrade is in work</summary>
			UpgradeInWorkPlusEnabled = 7,
			/// <summary> Get all users where upgrade is not in work </summary>
			UpgradeNotInWorkPlusEnabled = 8,
			/// <summary> Get all pro enabled users expect of the admin </summary>
			AllProEnabledExpectOfAdmin = 9
		}

		/// <summary>
		/// The order of the company array list
		/// </summary>
		public enum CompanyListAttribute {
			/// <summary> Undefined </summary>
			Undefined = 0,
			/// <summary> Get all companys </summary>
			All = 1,
			/// <summary> Get all enabled companys </summary>
			AllEnabled = 2,
			/// <summary> Get all disabled companys </summary>
			AllDisabled = 3
		}

		/// <summary>
		/// The order of the array list
		/// </summary>
		public enum ListAttribute {
			/// <summary> Undefined </summary>
			Undefined = 0,
			/// <summary> Get all </summary>
			All = 1,
			/// <summary> Get all enabled </summary>
			AllEnabled = 2,
			/// <summary> Get all disabled </summary>
			AllDisabled = 3
		}

		/// <summary>
		/// The order of the user array list
		/// </summary>
		public enum OrderUserBy {
			/// <summary> Undefined </summary>
			Undefined = 0,
			/// <summary> Order by register date desc </summary>
			RegisterDateDESC = 1,
			/// <summary> Order by register date asc </summary>
			RegisterDateASC = 2
		}

		/// <summary>
		/// The order of the company array list
		/// </summary>
		public enum OrderCompanysBy {
			/// <summary> Undefined </summary>
			Undefined = 0,
			/// <summary> Order by name desc </summary>
			NameDESC = 1,
			/// <summary> Order by name asc </summary>
			NameASC = 2
		}

		/// <summary>
		/// Answer state of a check function
		/// </summary>
		public enum CheckAnswer {
			/// <summary> Undefined </summary>
			Undefined = 0,
			/// <summary> System message without a answer </summary>
			WithoutAnswer = 1,
			/// <summary> System message for a successfull answer </summary>
			Successfull = 2,
			/// <summary> System message for a unsuccessfull answer </summary>
			Unsuccessfull = 3
		}

		/// <summary>
		/// The extra field in static for the amount of jobs for a specific value
		/// </summary>
		public enum StaticCounter {
			/// <summary> Undefined </summary>
			Undefined = 0,
			/// <summary> The state </summary>
			State = 1,
			/// <summary> The category </summary>
			Category = 2
		}

		/// <summary>
		/// The order of the static items list
		/// </summary>
		public enum OrderStaticsBy {
			/// <summary> Undefined </summary>
			Undefined = 0,
			/// <summary> Order by value desc </summary>
			ValueDESC = 1,
			/// <summary> Order by value asc </summary>
			ValueASC = 2,
			/// <summary> Order by content desc </summary>
			ContentDESC = 3,
			/// <summary> Order by content asc </summary>
			ContentASC = 4
		}

		/// <summary>
		/// Enum ImageListLayout
		/// </summary>
		public enum ImageListLayout {
			SmallImagesAndSets = 0,
			MediumImagesAndSets = 1
		}
	}
}
